#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>

//循环语句与递归的比较
//		递归：
//			易于理解（对于复杂问题而言）
//			执行速度慢
//			所用存储空间大
//		循环语句：
//			不易理解
//			执行速度快
//			所用存储空间小



//求 1 + 2 + 3 +  + 100 = ?

//递归实现
long sum_1(int n)
{
	if (1 == n)
	{
		return 1;
	}
	else
	{
		return n + sum_1(n - 1);
	}
}

//循环语句实现
long sum_2(int n)
{
	int sum = 0;
	int i;
	for (i = 1; i <= n; ++i)
	{
		sum += i;
	}
	return sum;
}

int main(void)
{
	printf("1 + 2 + 3 + ... + 100 = ?\n");
	printf("结果为:> %ld 【用递归实现】\n", sum_1(100));
	printf("结果为:> %ld 【用循环语句实现】\n", sum_2(100));

	return 0;
}
